home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Users Group Library 1996 July
/
C-C++ Users Group Library July 1996.iso
/
listings
/
v_11_06
/
1106127a
< prev
next >
Wrap
Text File
|
1993-02-26
|
794b
|
39 lines
/* cat.c: concatenate files */
#include <stdio.h>
#include <assert.h>
void copy(FILE *, FILE *);
main(int argc, char **argv)
{
int i;
FILE *f;
FILE *std_out = fdopen(fileno(stdout),"wb");
assert(std_out != NULL);
for (i = 1; i < argc; ++i)
if ((f = fopen(argv[i],"rb")) == NULL)
fprintf(stderr,"cat: Can't open %s\n",argv[i]);
else
{
copy(f,std_out);
fclose(f);
}
return 0;
}
void copy(FILE *from, FILE *to)
{
size_t count;
static char buf[BUFSIZ];
while (!feof(from))
{
count = fread(buf,1,BUFSIZ,from);
assert(ferror(from) == 0);
assert(fwrite(buf,1,count,to) == count);
assert(ferror(to) == 0);
}
}